The present invention relates to a disk array apparatus for a multimedia server, which apparatus comprises a plurality of disk drives.
Recently, a disk array apparatus comprising a plurality of disk drives has been developed, wherein data is stored dispersively in the disk drives (or storage media mounted in the disk drives), whereby parallel access is achieved and access speed is increased. This type of disk array apparatus is represented by a RAID (Redundant Arrays of Inexpensive Disks) apparatus adopting an architecture called "RAID." The RAID architecture is described in the following documents: D. Patterson, G. Gibson, and R. Katz, "A Case for Redundant Arrays of Inexpensive Disk (RAID)," ACM SIGMOD conference proceedings, Chicago, Ill., Jun. 1-3, 1988; and Randy H. Katz, Garth A. Gibson, and David A. Patterson, "Disk System Architecture for High Performance Computing," Report No. UCB/CSD 89/497 March 1989.
In the RAID architecture, as described above, data is stored dispersively in the disk drives to increase the access speed. In addition, error correction information (redundant data) called "parity" is stored in association with the dispersively stored data. Thereby, when a fault has occurred in any of the disk drives, data in the malfunctioning disk drive is recovered from the parity and the data in the other normal disk drives, thereby enhancing the reliability.
The above-described disk array apparatus can be used, for example, as a multimedia server for storing multimedia information. There are three demands for the multimedia server for storing multimedia information.
(1) Enhancement of Reliability
In order to store a great amount of data such as video data, an apparatus having less redundancy and higher reliability than a conventional RAID apparatus (disk array apparatus) is required.
For example, if a fault has occurred in a disk drive, if it is not protected by the RAID, the original data must be input once again. However, video data, which is great in volume, is often striped (i.e. a data stream is divided in predetermined units and dispersively arranged). Not only data in the malfunctioning but also other related data needs to be input once again. In this case, a great deal of time is needed to recover the data.
Such an undesirable situation must be avoided by increasing the scope of protection by the RAID and enhancing the reliability.
(2) Coexistence of Different Kinds of Data
The RAID architecture is generally divided into six levels of RAID 0 to RAID 5 (RAID levels 0 to 5). Of the six levels, RAID 3 to RAID 5 will now be briefly described.
In RAID 3, striping is performed in a relatively small unit (e.g. in a unit of byte) so that all disk drives can be accessed in parallel (simultaneously) for one I/O request. In addition, a parity of striped data is stored in a specially assigned disk drive (parity disk).
In RAID 4, striping is performed in a relatively large unit (e.g. a unit greater than a physical sector of disk) so that different disk drives are accessed independently for a plurality of I/O requests. In * addition, a parity of striped data is stored in a specially assigned disk drive.
RAID 5 is the same as RAID 4 except that striped data and parity are interleaved.
It is understood from the above that RAID 3 is suitable for storing a great amount of data, such as video data, which must be transferred at a fixed rate even when a fault has occurred in the disk drive.
On the other hand, RAID 4 or RAID 5 is suitable for storing a relatively small volume of data, such as still image data, which is required to have a high through-put.
However, when both video data and still image data are to be treated, there arises a problem if only one of RAID 3 and RAID 4 (5) is adopted.
Accordingly, it is required that both architectures (levels) of RAID 3 and RAID 4 (5) are adopted in the same RAID apparatus (disk array apparatus).
(3) Various Maintenance and Quality Required for Video Data
Video data can be used, for example, as (a) data which is used only for a predetermined time period, as in a monitoring system, and where necessary, backed up and overwritten, and (b) data which is stored for a long time period and used repeatedly. The kind of fault to be prevented is different between both data. In other words, the degree of redundancy and permissible overhead are different between both.
Video data is sent (transferred), for example, in two modes: (a) video data is sent directly to a user terminal with a small buffer memory and (b) video data is sent to some other server (disk array apparatus) and then to a user terminal repeatedly. In the respective cases, the required quality for data read-out and constancy are different.
Thus, various demands need to be satisfied in the same RAID apparatus (disk array apparatus).
In the prior art, disk array apparatuses as shown in FIGS. 20 and 21 have been proposed.
In the disk array apparatus shown in FIG. 20, a plurality of disk drives, e.g. hard disk drives (HDD) 201 are logically arranged in two dimension. A two-dimensional RAID system is realized under the control of a controller 202.
The disk array apparatus shown in FIG. 20 can achieve double RAID protection. This apparatus can meet the demand of the above item (1) but cannot the above item (2) or (3).
The disk array apparatus shown in FIG. 21 comprises a row of HDDs 211 controlled by RAID 3 and a row of HDDs 212 controlled by RAIDs 4 and 5. The row of HDDs 211 (group of RAID 3) and the row of HDDs 212 (group of RAIDs 4 and 5) are controlled by a controller 213 having functions of both RAID 3 and RAIDs 4 and 5.
The disk array apparatus shown in FIG. 21 has not been improved in the respect of reliability and fails to meet the demand of item (1). In addition, loads on the disks are not uniform and the efficiency is low. In a system wherein the ratio of large-volume data such as video data to small-volume data such as still image data varies, the efficiency of use of space within the disks deteriorates. That is, the demand of item (2) cannot be met. Moreover, the demand of item (3) for flexibility (or versatility) cannot be satisfied.